<HTML><HEAD>
<META NAME="description" CONTENT="Cursor trees with a recursive structure">
<META NAME="names" CONTENT="recursive_cursor_tree, cursor_tree, tree">
<META NAME="legal" CONTENT="See notice at end of class.">
<META NAME="contents" CONTENT="generic">
<META NAME="access" CONTENT="cursor, membership">
<META NAME="representation" CONTENT="recursive">
<META NAME="keywords" CONTENT="Eiffel class">
<META NAME="license" CONTENT="Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)">
<META NAME="copyright" CONTENT="Copyright (c) 1984-2008, Eiffel Software and others">
<META NAME="source" CONTENT="Eiffel Software 356 Storke Road, Goleta, CA 93117 USA Telephone 805-685-1006, Fax 805-685-6869 Website http://www.eiffel.com Customer support http://support.eiffel.com">
<META NAME="library" CONTENT="EiffelBase: Library of reusable components for Eiffel.">
<META NAME="keywords" CONTENT="Eiffel class">
<TITLE>recursive_cursor_tree Flat contracts</TITLE></HEAD>
<BODY BGCOLOR="white">
<P ALIGN="CENTER">Automatic generation produced by ISE Eiffel</P>
<PRE><TABLE BORDER="1" ALIGN="CENTER"><TR><TD><A HREF="../class_list.html">Classes</A></TD><TD><A HREF="../cluster_list.html">Clusters</A></TD><TD><A HREF="../cluster_hierarchy.html">Cluster hierarchy</A></TD><TD><A HREF="recursive_cursor_tree_chart.html">Chart</A></TD><TD><A HREF="recursive_cursor_tree_links.html">Relations</A></TD><TD>Flat contracts</TD></TR></TABLE><B>indexing</B>
    description: "Cursor trees with a recursive structure"
    legal: "See notice at end of class."
    status: "See notice at end of class."
    names: recursive_cursor_tree, cursor_tree, tree
    access: cursor, membership
    representation: recursive
    contents: generic
    date: "$Date: 2008-05-24 02:24:07 +0200 (Sat, 24 May 2008) $"
    revision: "$Revision: 170 $"

<B>deferred</B> <B>class</B> <B>interface</B>
    <A HREF="../base/recursive_cursor_tree_flatshort.html">RECURSIVE_CURSOR_TREE</A> [G]


<B>feature</B> <FONT COLOR="red">--</FONT><FONT COLOR="red"> Initialization</FONT>

    <A NAME="f_default_create"><A HREF="../base/any_flatshort.html#f_default_create">default_create</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Process instances of classes with no creation clause.</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> (Default: do nothing.)</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
</A>    
<B>feature</B> <FONT COLOR="red">--</FONT><FONT COLOR="red"> Access</FONT>

    <A NAME="f_child_item"><A HREF="../base/cursor_tree_flatshort.html#f_child_item">child_item</A> (i: <A HREF="../base/integer_32_flatshort.html">INTEGER_32</A>): G
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Item in </FONT>`i'<FONT COLOR="red">-th child</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A>
            argument_within_bounds: i &gt;= 1 <B>and then</B> i &lt;= <A HREF="../base/recursive_cursor_tree_flatshort.html#f_arity">arity</A>
            not_off: <B>not</B> <A HREF="../base/cursor_tree_flatshort.html#f_off">off</A>
</A>
    <A NAME="f_cursor"><A HREF="../base/recursive_cursor_tree_flatshort.html#f_cursor">cursor</A>: <A HREF="../base/recursive_tree_cursor_flatshort.html">RECURSIVE_TREE_CURSOR</A> [G]
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Current cursor position</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/cursor_structure_flatshort.html">CURSOR_STRUCTURE</A>
            cursor_not_void: <B>Result</B> /= <B>Void</B>
</A>
    <A NAME="f_generating_type"><A HREF="../base/any_flatshort.html#f_generating_type">generating_type</A>: <A HREF="../base/string_8_flatshort.html">STRING_8</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Name of current object's generating type</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> (type of which it is a direct instance)</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            generating_type_not_void: <B>Result</B> /= <B>Void</B>
            generating_type_not_empty: <B>not</B> <B>Result</B>.<A HREF="../base/finite_flatshort.html#f_is_empty">is_empty</A>
</A>
    <A NAME="f_generator"><A HREF="../base/any_flatshort.html#f_generator">generator</A>: <A HREF="../base/string_8_flatshort.html">STRING_8</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Name of current object's generating class</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> (base class of the type of which it is a direct instance)</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            generator_not_void: <B>Result</B> /= <B>Void</B>
            generator_not_empty: <B>not</B> <B>Result</B>.<A HREF="../base/finite_flatshort.html#f_is_empty">is_empty</A>
</A>
    <A NAME="f_has"><A HREF="../base/cursor_tree_flatshort.html#f_has">has</A> (v: G): <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Does structure include an occurrence of </FONT>`v'<FONT COLOR="red">?</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> (Reference or object equality,</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> based on </FONT><A HREF="../base/container_flatshort.html#f_object_comparison">object_comparison</A><FONT COLOR="red">.)</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT> <A HREF="../base/container_flatshort.html">CONTAINER</A>
            <B>True</B>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/container_flatshort.html">CONTAINER</A>
            not_found_in_empty: <B>Result</B> <B>implies</B> <B>not</B> <A HREF="../base/recursive_cursor_tree_flatshort.html#f_is_empty">is_empty</A>
</A>
    <A NAME="f_index_of"><A HREF="../base/linear_flatshort.html#f_index_of">index_of</A> (v: <B>like</B> <A HREF="../base/recursive_cursor_tree_flatshort.html#f_item">item</A>; i: <A HREF="../base/integer_32_flatshort.html">INTEGER_32</A>): <A HREF="../base/integer_32_flatshort.html">INTEGER_32</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Index of </FONT>`i'<FONT COLOR="red">-th occurrence of </FONT>`v'<FONT COLOR="red">.</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> 0 if none.</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> (Reference or object equality,</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> based on </FONT><A HREF="../base/container_flatshort.html#f_object_comparison">object_comparison</A><FONT COLOR="red">.)</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/linear_flatshort.html">LINEAR</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/linear_flatshort.html">LINEAR</A>
            positive_occurrences: i &gt; 0
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/linear_flatshort.html">LINEAR</A>
            non_negative_result: <B>Result</B> &gt;= 0
</A>
    <A NAME="f_item"><A HREF="../base/recursive_cursor_tree_flatshort.html#f_item">item</A>: G
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Item at cursor position</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/traversable_flatshort.html">TRAVERSABLE</A>
            not_off: <B>not</B> <A HREF="../base/cursor_tree_flatshort.html#f_off">off</A>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/active_flatshort.html">ACTIVE</A>
            readable: <A HREF="../base/cursor_tree_flatshort.html#f_readable">readable</A>
</A>
    <A NAME="f_item_for_iteration"><A HREF="../base/linear_flatshort.html#f_item_for_iteration">item_for_iteration</A>: G
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Item at current position</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/linear_flatshort.html">LINEAR</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/linear_flatshort.html">LINEAR</A>
            not_off: <B>not</B> <A HREF="../base/cursor_tree_flatshort.html#f_off">off</A>
</A>
    <A NAME="f_occurrences"><A HREF="../base/cursor_tree_flatshort.html#f_occurrences">occurrences</A> (v: G): <A HREF="../base/integer_32_flatshort.html">INTEGER_32</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Number of times </FONT>`v'<FONT COLOR="red"> appears in structure</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> (Reference or object equality,</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> based on </FONT><A HREF="../base/container_flatshort.html#f_object_comparison">object_comparison</A><FONT COLOR="red">.)</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT> <A HREF="../base/bag_flatshort.html">BAG</A>
            <B>True</B>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT> <A HREF="../base/linear_flatshort.html">LINEAR</A>
            <B>True</B>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/bag_flatshort.html">BAG</A>
            non_negative_occurrences: <B>Result</B> &gt;= 0
</A>
    <A NAME="f_parent_item"><A HREF="../base/cursor_tree_flatshort.html#f_parent_item">parent_item</A>: G
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Item in parent.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A>
            not_on_root: <B>not</B> <A HREF="../base/recursive_cursor_tree_flatshort.html#f_is_root">is_root</A>
</A>
    <A NAME="f_search"><A HREF="../base/linear_flatshort.html#f_search">search</A> (v: <B>like</B> <A HREF="../base/recursive_cursor_tree_flatshort.html#f_item">item</A>)
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Move to first position (at or after current</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> position) where </FONT><A HREF="../base/recursive_cursor_tree_flatshort.html#f_item">item</A><FONT COLOR="red"> and </FONT>`v'<FONT COLOR="red"> are equal.</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> (Reference or object equality,</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> based on </FONT><A HREF="../base/container_flatshort.html#f_object_comparison">object_comparison</A><FONT COLOR="red">.)</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> If no such position ensure that </FONT><A HREF="../base/linear_flatshort.html#f_exhausted">exhausted</A><FONT COLOR="red"> will be true.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/linear_flatshort.html">LINEAR</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/linear_flatshort.html">LINEAR</A>
            object_found: (<B>not</B> <A HREF="../base/linear_flatshort.html#f_exhausted">exhausted</A> <B>and</B> <A HREF="../base/container_flatshort.html#f_object_comparison">object_comparison</A>) <B>implies</B> <A HREF="../base/any_flatshort.html#f_equal">equal</A> (v, <A HREF="../base/recursive_cursor_tree_flatshort.html#f_item">item</A>)
            item_found: (<B>not</B> <A HREF="../base/linear_flatshort.html#f_exhausted">exhausted</A> <B>and</B> <B>not</B> <A HREF="../base/container_flatshort.html#f_object_comparison">object_comparison</A>) <B>implies</B> v = <A HREF="../base/recursive_cursor_tree_flatshort.html#f_item">item</A>
</A>    
<B>feature</B> <FONT COLOR="red">--</FONT><FONT COLOR="red"> Measurement</FONT>

    <A NAME="f_arity"><A HREF="../base/recursive_cursor_tree_flatshort.html#f_arity">arity</A>: <A HREF="../base/integer_32_flatshort.html">INTEGER_32</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Number of children of active node.</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> If cursor is </FONT><A HREF="../base/recursive_cursor_tree_flatshort.html#f_above">above</A><FONT COLOR="red">, 0 if tree is empty, 1 otherwise.</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/hierarchical_flatshort.html">HIERARCHICAL</A>
            not_off: <B>not</B> <A HREF="../base/cursor_tree_flatshort.html#f_off">off</A>
        <B>require else</B>
            valid_cursor: <B>not</B> <A HREF="../base/cursor_tree_flatshort.html#f_off">off</A> <B>or else</B> <A HREF="../base/recursive_cursor_tree_flatshort.html#f_above">above</A>
</A>
    <A NAME="f_breadth"><A HREF="../base/cursor_tree_flatshort.html#f_breadth">breadth</A>: <A HREF="../base/integer_32_flatshort.html">INTEGER_32</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Breadth of current level</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A><FONT COLOR="red">)</FONT>
</A>
    <A NAME="f_count"><A HREF="../base/recursive_cursor_tree_flatshort.html#f_count">count</A>: <A HREF="../base/integer_32_flatshort.html">INTEGER_32</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Number of items in the tree</FONT>
</A>
    <A NAME="f_depth"><A HREF="../base/cursor_tree_flatshort.html#f_depth">depth</A>: <A HREF="../base/integer_32_flatshort.html">INTEGER_32</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Depth of the tree</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A><FONT COLOR="red">)</FONT>
</A>
    <A NAME="f_level"><A HREF="../base/cursor_tree_flatshort.html#f_level">level</A>: <A HREF="../base/integer_32_flatshort.html">INTEGER_32</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Level of current node in tree</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> (Root is on level 1)</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A><FONT COLOR="red">)</FONT>
</A>    
<B>feature</B> <FONT COLOR="red">--</FONT><FONT COLOR="red"> Comparison</FONT>

    <A NAME="f_deep_equal"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_deep_equal">deep_equal</A> (some: ?<A HREF="../base/any_flatshort.html">ANY</A>; other: <B>like</B> arg #1): <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Are </FONT>`some'<FONT COLOR="red"> and </FONT>`other'<FONT COLOR="red"> either both void</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> or attached to isomorphic object structures?</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            shallow_implies_deep: <A HREF="../base/any_flatshort.html#f_standard_equal">standard_equal</A> (some, other) <B>implies</B> <B>Result</B>
            both_or_none_void: (some = <B>Void</B>) <B>implies</B> (<B>Result</B> = (other = <B>Void</B>))
            same_type: (<B>Result</B> <B>and</B> (some /= <B>Void</B>)) <B>implies</B> (other /= <B>Void</B> <B>and then</B> some.<A HREF="../base/any_flatshort.html#f_same_type">same_type</A> (other))
            symmetric: <B>Result</B> <B>implies</B> <A HREF="../base/any_flatshort.html#f_deep_equal">deep_equal</A> (other, some)
</A>
    <A NAME="f_equal"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_equal">equal</A> (some: ?<A HREF="../base/any_flatshort.html">ANY</A>; other: <B>like</B> arg #1): <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Are </FONT>`some'<FONT COLOR="red"> and </FONT>`other'<FONT COLOR="red"> either both void or attached</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> to objects considered equal?</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            definition: <B>Result</B> = (some = <B>Void</B> <B>and</B> other = <B>Void</B>) <B>or else</B> ((some /= <B>Void</B> <B>and</B> other /= <B>Void</B>) <B>and then</B> some.<A HREF="../base/any_flatshort.html#f_is_equal">is_equal</A> (other))
</A>
    <A NAME="f_is_deep_equal"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_is_deep_equal">is_deep_equal</A> (other: <A HREF="../base/recursive_cursor_tree_flatshort.html">RECURSIVE_CURSOR_TREE</A> [G]): <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Are </FONT>`Current'<FONT COLOR="red"> and </FONT>`other'<FONT COLOR="red"> attached to isomorphic object structures?</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            other_not_void: other /= <B>Void</B>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            shallow_implies_deep: <A HREF="../base/any_flatshort.html#f_standard_is_equal">standard_is_equal</A> (other) <B>implies</B> <B>Result</B>
            same_type: <B>Result</B> <B>implies</B> <A HREF="../base/any_flatshort.html#f_same_type">same_type</A> (other)
            symmetric: <B>Result</B> <B>implies</B> other.<A HREF="../base/any_flatshort.html#f_is_deep_equal">is_deep_equal</A> (<B>Current</B>)
</A>
    <A NAME="f_is_equal"><A HREF="../base/any_flatshort.html#f_is_equal">is_equal</A> (other: <A HREF="../base/recursive_cursor_tree_flatshort.html">RECURSIVE_CURSOR_TREE</A> [G]): <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Is </FONT>`other'<FONT COLOR="red"> attached to an object considered</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> equal to current object?</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            other_not_void: other /= <B>Void</B>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            symmetric: <B>Result</B> <B>implies</B> other.<A HREF="../base/any_flatshort.html#f_is_equal">is_equal</A> (<B>Current</B>)
            consistent: <A HREF="../base/any_flatshort.html#f_standard_is_equal">standard_is_equal</A> (other) <B>implies</B> <B>Result</B>
</A>
    <A NAME="f_standard_equal"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_standard_equal">standard_equal</A> (some: ?<A HREF="../base/any_flatshort.html">ANY</A>; other: <B>like</B> arg #1): <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Are </FONT>`some'<FONT COLOR="red"> and </FONT>`other'<FONT COLOR="red"> either both void or attached to</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> field-by-field identical objects of the same type?</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Always uses default object comparison criterion.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            definition: <B>Result</B> = (some = <B>Void</B> <B>and</B> other = <B>Void</B>) <B>or else</B> ((some /= <B>Void</B> <B>and</B> other /= <B>Void</B>) <B>and then</B> some.<A HREF="../base/any_flatshort.html#f_standard_is_equal">standard_is_equal</A> (other))
</A>
    <A NAME="f_standard_is_equal"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_standard_is_equal">standard_is_equal</A> (other: <A HREF="../base/recursive_cursor_tree_flatshort.html">RECURSIVE_CURSOR_TREE</A> [G]): <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Is </FONT>`other'<FONT COLOR="red"> attached to an object of the same type</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> as current object, and field-by-field identical to it?</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            other_not_void: other /= <B>Void</B>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            same_type: <B>Result</B> <B>implies</B> <A HREF="../base/any_flatshort.html#f_same_type">same_type</A> (other)
            symmetric: <B>Result</B> <B>implies</B> other.<A HREF="../base/any_flatshort.html#f_standard_is_equal">standard_is_equal</A> (<B>Current</B>)
</A>    
<B>feature</B> <FONT COLOR="red">--</FONT><FONT COLOR="red"> Status report</FONT>

    <A NAME="f_above"><A HREF="../base/recursive_cursor_tree_flatshort.html#f_above">above</A>: <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Is there no valid cursor position above cursor?</FONT>
</A>
    <A NAME="f_after"><A HREF="../base/recursive_cursor_tree_flatshort.html#f_after">after</A>: <A HREF="../base/boolean_flatshort.html">BOOLEAN</A></A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Is there no valid cursor position to the right of cursor?</FONT>

    <A NAME="f_before"><A HREF="../base/recursive_cursor_tree_flatshort.html#f_before">before</A>: <A HREF="../base/boolean_flatshort.html">BOOLEAN</A></A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Is there no valid cursor position to the left of cursor?</FONT>

    <A NAME="f_below"><A HREF="../base/cursor_tree_flatshort.html#f_below">below</A>: <A HREF="../base/boolean_flatshort.html">BOOLEAN</A></A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Is there no valid cursor position below cursor?</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A><FONT COLOR="red">)</FONT>

    <A NAME="f_changeable_comparison_criterion"><A HREF="../base/container_flatshort.html#f_changeable_comparison_criterion">changeable_comparison_criterion</A>: <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> May </FONT><A HREF="../base/container_flatshort.html#f_object_comparison">object_comparison</A><FONT COLOR="red"> be changed?</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> (Answer: yes by default.)</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/container_flatshort.html">CONTAINER</A><FONT COLOR="red">)</FONT>
</A>
    <A NAME="f_conforms_to"><A HREF="../base/any_flatshort.html#f_conforms_to">conforms_to</A> (other: <A HREF="../base/any_flatshort.html">ANY</A>): <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Does type of current object conform to type</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> of </FONT>`other'<FONT COLOR="red"> (as per Eiffel: The Language, chapter 13)?</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            other_not_void: other /= <B>Void</B>
</A>
    <A NAME="f_exhausted"><A HREF="../base/linear_flatshort.html#f_exhausted">exhausted</A>: <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Has structure been completely explored?</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/linear_flatshort.html">LINEAR</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/linear_flatshort.html">LINEAR</A>
            exhausted_when_off: <A HREF="../base/cursor_tree_flatshort.html#f_off">off</A> <B>implies</B> <B>Result</B>
</A>
    <A NAME="f_extendible"><A HREF="../base/recursive_cursor_tree_flatshort.html#f_extendible">extendible</A>: <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> May new items be added on current level?</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT> <A HREF="../base/collection_flatshort.html">COLLECTION</A>
            <B>True</B>
</A>
    <A NAME="f_is_empty"><A HREF="../base/recursive_cursor_tree_flatshort.html#f_is_empty">is_empty</A>: <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Is the tree empty?</FONT>
</A>
    <A NAME="f_is_inserted"><A HREF="../base/collection_flatshort.html#f_is_inserted">is_inserted</A> (v: G): <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Has </FONT>`v'<FONT COLOR="red"> been inserted by the most recent insertion?</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> (By default, the value returned is equivalent to calling </FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> </FONT>`has (v)'<FONT COLOR="red">. However, descendants might be able to provide more</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> efficient implementations.)</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/collection_flatshort.html">COLLECTION</A><FONT COLOR="red">)</FONT>
</A>
    <A NAME="f_is_leaf"><A HREF="../base/cursor_tree_flatshort.html#f_is_leaf">is_leaf</A>: <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Is cursor on a leaf?</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A><FONT COLOR="red">)</FONT>
</A>
    <A NAME="f_is_root"><A HREF="../base/recursive_cursor_tree_flatshort.html#f_is_root">is_root</A>: <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Is cursor on tree root?</FONT>
</A>
    <A NAME="f_isfirst"><A HREF="../base/recursive_cursor_tree_flatshort.html#f_isfirst">isfirst</A>: <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Is cursor on first sibling?</FONT>
</A>
    <A NAME="f_islast"><A HREF="../base/recursive_cursor_tree_flatshort.html#f_islast">islast</A>: <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Is cursor on last sibling?</FONT>
</A>
    <A NAME="f_object_comparison"><A HREF="../base/container_flatshort.html#f_object_comparison">object_comparison</A>: <A HREF="../base/boolean_flatshort.html">BOOLEAN</A></A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Must search operations use </FONT><A HREF="../base/any_flatshort.html#f_equal">equal</A><FONT COLOR="red"> rather than </FONT>`='
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> for comparing references? (Default: no, use </FONT>`='<FONT COLOR="red">.)</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/container_flatshort.html">CONTAINER</A><FONT COLOR="red">)</FONT>

    <A NAME="f_off"><A HREF="../base/cursor_tree_flatshort.html#f_off">off</A>: <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Is there no current item?</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> (True if </FONT><A HREF="../base/recursive_cursor_tree_flatshort.html#f_is_empty">is_empty</A><FONT COLOR="red">)</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT> <A HREF="../base/traversable_flatshort.html">TRAVERSABLE</A>
            <B>True</B>
</A>
    <A NAME="f_prunable"><A HREF="../base/collection_flatshort.html#f_prunable">prunable</A>: <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> May items be removed?</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/collection_flatshort.html">COLLECTION</A><FONT COLOR="red">)</FONT>
</A>
    <A NAME="f_readable"><A HREF="../base/cursor_tree_flatshort.html#f_readable">readable</A>: <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Is there a current item that may be read?</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A><FONT COLOR="red">)</FONT>
</A>
    <A NAME="f_same_type"><A HREF="../base/any_flatshort.html#f_same_type">same_type</A> (other: <A HREF="../base/any_flatshort.html">ANY</A>): <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Is type of current object identical to type of </FONT>`other'<FONT COLOR="red">?</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            other_not_void: other /= <B>Void</B>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            definition: <B>Result</B> = (<A HREF="../base/any_flatshort.html#f_conforms_to">conforms_to</A> (other) <B>and</B> other.<A HREF="../base/any_flatshort.html#f_conforms_to">conforms_to</A> (<B>Current</B>))
</A>
    <A NAME="f_valid_cursor"><A HREF="../base/recursive_cursor_tree_flatshort.html#f_valid_cursor">valid_cursor</A> (p: <A HREF="../base/cursor_flatshort.html">CURSOR</A>): <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Can the cursor be moved to position </FONT>`p'<FONT COLOR="red">?</FONT>
</A>
    <A NAME="f_valid_cursor_index"><A HREF="../base/cursor_tree_flatshort.html#f_valid_cursor_index">valid_cursor_index</A> (i: <A HREF="../base/integer_32_flatshort.html">INTEGER_32</A>): <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Can cursor be moved to </FONT>`i'<FONT COLOR="red">-th child?</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> 0 is before and </FONT><A HREF="../base/recursive_cursor_tree_flatshort.html#f_arity">arity</A><FONT COLOR="red"> + 1 is after.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A><FONT COLOR="red">)</FONT>
</A>
    <A NAME="f_writable"><A HREF="../base/cursor_tree_flatshort.html#f_writable">writable</A>: <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Is there a current item that may be modified?</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A><FONT COLOR="red">)</FONT>
</A>    
<B>feature</B> <FONT COLOR="red">--</FONT><FONT COLOR="red"> Status setting</FONT>

    <A NAME="f_compare_objects"><A HREF="../base/container_flatshort.html#f_compare_objects">compare_objects</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Ensure that future search operations will use </FONT><A HREF="../base/any_flatshort.html#f_equal">equal</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> rather than </FONT>`='<FONT COLOR="red"> for comparing references.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/container_flatshort.html">CONTAINER</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/container_flatshort.html">CONTAINER</A>
            changeable_comparison_criterion: <A HREF="../base/container_flatshort.html#f_changeable_comparison_criterion">changeable_comparison_criterion</A>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/container_flatshort.html">CONTAINER</A>
            <A HREF="../base/container_flatshort.html#f_object_comparison">object_comparison</A>
</A>
    <A NAME="f_compare_references"><A HREF="../base/container_flatshort.html#f_compare_references">compare_references</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Ensure that future search operations will use </FONT>`='
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> rather than </FONT><A HREF="../base/any_flatshort.html#f_equal">equal</A><FONT COLOR="red"> for comparing references.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/container_flatshort.html">CONTAINER</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/container_flatshort.html">CONTAINER</A>
            changeable_comparison_criterion: <A HREF="../base/container_flatshort.html#f_changeable_comparison_criterion">changeable_comparison_criterion</A>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/container_flatshort.html">CONTAINER</A>
            reference_comparison: <B>not</B> <A HREF="../base/container_flatshort.html#f_object_comparison">object_comparison</A>
</A>    
<B>feature</B> <FONT COLOR="red">--</FONT><FONT COLOR="red"> Cursor movement</FONT>

    <A NAME="f_back"><A HREF="../base/recursive_cursor_tree_flatshort.html#f_back">back</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Move cursor one position backward.</FONT>
</A>
    <A NAME="f_breadth_forth"><A HREF="../base/cursor_tree_flatshort.html#f_breadth_forth">breadth_forth</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Move cursor to next position in breadth-first order.</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> If the active node is the last in</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> breadth-first order, the cursor ends up </FONT><A HREF="../base/cursor_tree_flatshort.html#f_off">off</A><FONT COLOR="red">.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A>
            not_off: <B>not</B> <A HREF="../base/cursor_tree_flatshort.html#f_off">off</A>
</A>
    <A NAME="f_down"><A HREF="../base/recursive_cursor_tree_flatshort.html#f_down">down</A> (i: <A HREF="../base/integer_32_flatshort.html">INTEGER_32</A>)
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Move cursor one level downward:</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> to </FONT>`i'<FONT COLOR="red">-th child if there is one,</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> or </FONT><A HREF="../base/recursive_cursor_tree_flatshort.html#f_after">after</A><FONT COLOR="red"> if </FONT>`i'<FONT COLOR="red"> = </FONT><A HREF="../base/recursive_cursor_tree_flatshort.html#f_arity">arity</A><FONT COLOR="red"> + 1,</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> or </FONT><A HREF="../base/recursive_cursor_tree_flatshort.html#f_before">before</A><FONT COLOR="red"> if </FONT>`i'<FONT COLOR="red"> = 0.</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/hierarchical_flatshort.html">HIERARCHICAL</A>
            not_off: <B>not</B> <A HREF="../base/cursor_tree_flatshort.html#f_off">off</A>
            argument_within_bounds: i &gt;= 1 <B>and</B> i &lt;= <A HREF="../base/recursive_cursor_tree_flatshort.html#f_arity">arity</A>
        <B>require else</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A>
            not_before: <B>not</B> <A HREF="../base/recursive_cursor_tree_flatshort.html#f_before">before</A>
            not_after: <B>not</B> <A HREF="../base/recursive_cursor_tree_flatshort.html#f_after">after</A>
            not_below: <B>not</B> <A HREF="../base/cursor_tree_flatshort.html#f_below">below</A>
            valid_cursor_index: (<A HREF="../base/recursive_cursor_tree_flatshort.html#f_above">above</A> <B>and</B> i = 0) <B>or else</B> <A HREF="../base/cursor_tree_flatshort.html#f_valid_cursor_index">valid_cursor_index</A> (i)
        <B>ensure then</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A>
            gone_before: (i = 0) <B>implies</B> <A HREF="../base/recursive_cursor_tree_flatshort.html#f_before">before</A>
</A>
    <A NAME="f_forth"><A HREF="../base/recursive_cursor_tree_flatshort.html#f_forth">forth</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Move cursor one position forward.</FONT>
</A>
    <A NAME="f_go_last_child"><A HREF="../base/cursor_tree_flatshort.html#f_go_last_child">go_last_child</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Go to the last child of current parent.</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> No effect if below</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT> <A HREF="../base/linear_flatshort.html">LINEAR</A>
            <B>True</B>
        <B>require else</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A>
            not_above: <B>not</B> <A HREF="../base/recursive_cursor_tree_flatshort.html#f_above">above</A>
</A>
    <A NAME="f_go_to"><A HREF="../base/recursive_cursor_tree_flatshort.html#f_go_to">go_to</A> (p: <A HREF="../base/cursor_flatshort.html">CURSOR</A>)
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Move cursor to position </FONT>`p'<FONT COLOR="red">.</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/cursor_structure_flatshort.html">CURSOR_STRUCTURE</A>
            cursor_position_valid: <A HREF="../base/recursive_cursor_tree_flatshort.html#f_valid_cursor">valid_cursor</A> (p)
</A>
    <A NAME="f_level_back"><A HREF="../base/cursor_tree_flatshort.html#f_level_back">level_back</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Move cursor to previous position of current level.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A><FONT COLOR="red">)</FONT>
</A>
    <A NAME="f_level_forth"><A HREF="../base/cursor_tree_flatshort.html#f_level_forth">level_forth</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Move cursor to next position of current level.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A><FONT COLOR="red">)</FONT>
</A>
    <A NAME="f_postorder_forth"><A HREF="../base/cursor_tree_flatshort.html#f_postorder_forth">postorder_forth</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Move cursor to next position in postorder.</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> If the active node is the last in</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> postorder, the cursor ends up </FONT><A HREF="../base/cursor_tree_flatshort.html#f_off">off</A><FONT COLOR="red">.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A>
            not_off: <B>not</B> <A HREF="../base/cursor_tree_flatshort.html#f_off">off</A>
</A>
    <A NAME="f_postorder_start"><A HREF="../base/cursor_tree_flatshort.html#f_postorder_start">postorder_start</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Move cursor to first position in postorder.</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Leave cursor off if tree is empty.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A><FONT COLOR="red">)</FONT>
</A>
    <A NAME="f_preorder_forth"><A HREF="../base/cursor_tree_flatshort.html#f_preorder_forth">preorder_forth</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Move cursor to next position in preorder.</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> If the active node is the last in</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> preorder, the cursor ends up </FONT><A HREF="../base/cursor_tree_flatshort.html#f_off">off</A><FONT COLOR="red">.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/linear_flatshort.html">LINEAR</A>
            not_after: <B>not</B> <A HREF="../base/recursive_cursor_tree_flatshort.html#f_after">after</A>
</A>
    <A NAME="f_start"><A HREF="../base/cursor_tree_flatshort.html#f_start">start</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Move cursor to root.</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Leave cursor </FONT><A HREF="../base/cursor_tree_flatshort.html#f_off">off</A><FONT COLOR="red"> if </FONT><A HREF="../base/recursive_cursor_tree_flatshort.html#f_is_empty">is_empty</A><FONT COLOR="red">.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT> <A HREF="../base/traversable_flatshort.html">TRAVERSABLE</A>
            <B>True</B>
        <B>ensure then</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A>
            on_root_unless_empty: <B>not</B> <A HREF="../base/recursive_cursor_tree_flatshort.html#f_is_empty">is_empty</A> <B>implies</B> <A HREF="../base/recursive_cursor_tree_flatshort.html#f_is_root">is_root</A>
</A>
    <A NAME="f_start_on_level"><A HREF="../base/cursor_tree_flatshort.html#f_start_on_level">start_on_level</A> (l: <A HREF="../base/integer_32_flatshort.html">INTEGER_32</A>)
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Move the cursor to the first position</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> of the </FONT>`l'<FONT COLOR="red">-th level counting from root.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A>
            argument_within_bounds: l &gt;= 1 <B>and then</B> <A HREF="../base/cursor_tree_flatshort.html#f_depth">depth</A> &gt;= l
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A>
            level_expected: <A HREF="../base/cursor_tree_flatshort.html#f_level">level</A> = l
            is_first: <A HREF="../base/recursive_cursor_tree_flatshort.html#f_isfirst">isfirst</A>
</A>
    <A NAME="f_up"><A HREF="../base/recursive_cursor_tree_flatshort.html#f_up">up</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Move cursor one level upward to parent,</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> or </FONT><A HREF="../base/recursive_cursor_tree_flatshort.html#f_above">above</A><FONT COLOR="red"> if </FONT><A HREF="../base/recursive_cursor_tree_flatshort.html#f_is_root">is_root</A><FONT COLOR="red"> holds.</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/hierarchical_flatshort.html">HIERARCHICAL</A>
            not_off: <B>not</B> <A HREF="../base/cursor_tree_flatshort.html#f_off">off</A>
        <B>require else</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A>
            not_above: <B>not</B> <A HREF="../base/recursive_cursor_tree_flatshort.html#f_above">above</A>
        <B>ensure then</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A>
            not_before: <B>not</B> <A HREF="../base/recursive_cursor_tree_flatshort.html#f_before">before</A>
            not_after: <B>not</B> <A HREF="../base/recursive_cursor_tree_flatshort.html#f_after">after</A>
            not_below: <B>not</B> <A HREF="../base/cursor_tree_flatshort.html#f_below">below</A>
            coherency: (<B>not</B> <B>old</B> <A HREF="../base/cursor_tree_flatshort.html#f_off">off</A> <B>and</B> <A HREF="../base/recursive_cursor_tree_flatshort.html#f_above">above</A>) = (<B>old</B> <A HREF="../base/recursive_cursor_tree_flatshort.html#f_is_root">is_root</A>)
</A>    
<B>feature</B> <FONT COLOR="red">--</FONT><FONT COLOR="red"> Element change</FONT>

    <A NAME="f_fill"><A HREF="../base/cursor_tree_flatshort.html#f_fill">fill</A> (other: <A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A> [G])
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Fill with as many items of </FONT>`other'
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> as possible.</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> The representations of </FONT>`other'<FONT COLOR="red"> and current structure</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> need not be the same.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A>
            is_empty: <A HREF="../base/recursive_cursor_tree_flatshort.html#f_is_empty">is_empty</A>
</A>
    <A NAME="f_fill"><A HREF="../base/collection_flatshort.html#f_fill">container_fill</A> (other: <A HREF="../base/container_flatshort.html">CONTAINER</A> [G])
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Fill with as many items of </FONT>`other'<FONT COLOR="red"> as possible.</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> The representations of </FONT>`other'<FONT COLOR="red"> and current structure</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> need not be the same.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/collection_flatshort.html">COLLECTION</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/collection_flatshort.html">COLLECTION</A>
            other_not_void: other /= <B>Void</B>
            extendible: <A HREF="../base/recursive_cursor_tree_flatshort.html#f_extendible">extendible</A>
</A>
    <A NAME="f_fill_from_active"><A HREF="../base/cursor_tree_flatshort.html#f_fill_from_active">fill_from_active</A> (other: <A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A> [G])
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Copy subtree of </FONT>`other'<FONT COLOR="red">'s active node</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> onto active node of current tree.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A>
            cursor_on_leaf: <A HREF="../base/cursor_tree_flatshort.html#f_is_leaf">is_leaf</A>
</A>
    <A NAME="f_merge_left"><A HREF="../base/cursor_tree_flatshort.html#f_merge_left">merge_left</A> (other: <A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A> [G])
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Merge the items of </FONT>`other'<FONT COLOR="red"> into current structure to</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> the left of cursor position.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A>
            other_exists: other /= <B>Void</B>
            not_before: <B>not</B> <A HREF="../base/recursive_cursor_tree_flatshort.html#f_before">before</A>
            not_above: <B>not</B> <A HREF="../base/recursive_cursor_tree_flatshort.html#f_above">above</A>
            only_one_root: (<A HREF="../base/cursor_tree_flatshort.html#f_level">level</A> = 1) <B>implies</B> <A HREF="../base/recursive_cursor_tree_flatshort.html#f_is_empty">is_empty</A>
</A>
    <A NAME="f_merge_right"><A HREF="../base/cursor_tree_flatshort.html#f_merge_right">merge_right</A> (other: <A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A> [G])
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Merge the items of </FONT>`other'<FONT COLOR="red"> into current structure to</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> the right of cursor position.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A>
            other_exists: other /= <B>Void</B>
            not_after: <B>not</B> <A HREF="../base/recursive_cursor_tree_flatshort.html#f_after">after</A>
            not_above: <B>not</B> <A HREF="../base/recursive_cursor_tree_flatshort.html#f_above">above</A>
            only_one_root: (<A HREF="../base/cursor_tree_flatshort.html#f_level">level</A> = 1) <B>implies</B> <A HREF="../base/recursive_cursor_tree_flatshort.html#f_is_empty">is_empty</A>
</A>
    <A NAME="f_put"><A HREF="../base/cursor_tree_flatshort.html#f_put">put</A> (v: G)
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Put </FONT>`v'<FONT COLOR="red"> at cursor position.</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> (Synonym for </FONT><A HREF="../base/recursive_cursor_tree_flatshort.html#f_replace">replace</A><FONT COLOR="red">)</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/collection_flatshort.html">COLLECTION</A>
            extendible: <A HREF="../base/recursive_cursor_tree_flatshort.html#f_extendible">extendible</A>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/collection_flatshort.html">COLLECTION</A>
            item_inserted: <A HREF="../base/collection_flatshort.html#f_is_inserted">is_inserted</A> (v)
</A>
    <A NAME="f_put_left"><A HREF="../base/cursor_tree_flatshort.html#f_put_left">put_left</A> (v: G)
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Add </FONT>`v'<FONT COLOR="red"> to the left of cursor position.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A>
            not_before: <B>not</B> <A HREF="../base/recursive_cursor_tree_flatshort.html#f_before">before</A>
            not_above: <B>not</B> <A HREF="../base/recursive_cursor_tree_flatshort.html#f_above">above</A>
            only_one_root: (<A HREF="../base/cursor_tree_flatshort.html#f_level">level</A> = 1) <B>implies</B> <A HREF="../base/recursive_cursor_tree_flatshort.html#f_is_empty">is_empty</A>
</A>
    <A NAME="f_put_right"><A HREF="../base/cursor_tree_flatshort.html#f_put_right">put_right</A> (v: G)
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Add </FONT>`v'<FONT COLOR="red"> to the right of cursor position.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A>
            not_after: <B>not</B> <A HREF="../base/recursive_cursor_tree_flatshort.html#f_after">after</A>
            not_above: <B>not</B> <A HREF="../base/recursive_cursor_tree_flatshort.html#f_above">above</A>
            only_one_root: (<A HREF="../base/cursor_tree_flatshort.html#f_level">level</A> = 1) <B>implies</B> <A HREF="../base/recursive_cursor_tree_flatshort.html#f_is_empty">is_empty</A>
</A>
    <A NAME="f_replace"><A HREF="../base/recursive_cursor_tree_flatshort.html#f_replace">replace</A> (v: G)
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Replace current item by </FONT>`v'<FONT COLOR="red">.</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/active_flatshort.html">ACTIVE</A>
            writable: <A HREF="../base/cursor_tree_flatshort.html#f_writable">writable</A>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/active_flatshort.html">ACTIVE</A>
            item_replaced: <A HREF="../base/recursive_cursor_tree_flatshort.html#f_item">item</A> = v
</A>    
<B>feature</B> <FONT COLOR="red">--</FONT><FONT COLOR="red"> Removal</FONT>

    <A NAME="f_remove"><A HREF="../base/recursive_cursor_tree_flatshort.html#f_remove">remove</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Remove node at cursor position</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> (and consequently the corresponding</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> subtree). Cursor moved up one level.</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/active_flatshort.html">ACTIVE</A>
            prunable: <A HREF="../base/collection_flatshort.html#f_prunable">prunable</A>
            writable: <A HREF="../base/cursor_tree_flatshort.html#f_writable">writable</A>
        <B>ensure then</B>
            not_off_unless_empty: <A HREF="../base/recursive_cursor_tree_flatshort.html#f_is_empty">is_empty</A> <B>or else</B> <B>not</B> <A HREF="../base/cursor_tree_flatshort.html#f_off">off</A>
</A>
    <A NAME="f_wipe_out"><A HREF="../base/recursive_cursor_tree_flatshort.html#f_wipe_out">wipe_out</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Remove all items.</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/collection_flatshort.html">COLLECTION</A>
            prunable: <A HREF="../base/collection_flatshort.html#f_prunable">prunable</A>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/collection_flatshort.html">COLLECTION</A>
            wiped_out: <A HREF="../base/recursive_cursor_tree_flatshort.html#f_is_empty">is_empty</A>
        <B>ensure then</B>
            cursor_above: <A HREF="../base/recursive_cursor_tree_flatshort.html#f_above">above</A>
</A>    
<B>feature</B> <FONT COLOR="red">--</FONT><FONT COLOR="red"> Conversion</FONT>

    <A NAME="f_linear_representation"><A HREF="../base/linear_flatshort.html#f_linear_representation">linear_representation</A>: <A HREF="../base/linear_flatshort.html">LINEAR</A> [G]
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Representation as a linear structure</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/linear_flatshort.html">LINEAR</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT> <A HREF="../base/container_flatshort.html">CONTAINER</A>
            <B>True</B>
</A>    
<B>feature</B> <FONT COLOR="red">--</FONT><FONT COLOR="red"> Duplication</FONT>

    <A NAME="f_child_tree"><A HREF="../base/cursor_tree_flatshort.html#f_child_tree">child_tree</A> (i: <A HREF="../base/integer_32_flatshort.html">INTEGER_32</A>): <A HREF="../base/recursive_cursor_tree_flatshort.html">RECURSIVE_CURSOR_TREE</A> [G]
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Subtree rooted at </FONT>`i'<FONT COLOR="red">-th child</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A>
            argument_within_bounds: i &gt;= 1 <B>and then</B> i &lt;= <A HREF="../base/recursive_cursor_tree_flatshort.html#f_arity">arity</A>
            not_off: <B>not</B> <A HREF="../base/cursor_tree_flatshort.html#f_off">off</A>
</A>
    <A NAME="f_copy"><A HREF="../base/any_flatshort.html#f_copy">copy</A> (other: <A HREF="../base/recursive_cursor_tree_flatshort.html">RECURSIVE_CURSOR_TREE</A> [G])
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Update current object using fields of object attached</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> to </FONT>`other'<FONT COLOR="red">, so as to yield equal objects.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            other_not_void: other /= <B>Void</B>
            type_identity: <A HREF="../base/any_flatshort.html#f_same_type">same_type</A> (other)
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            is_equal: <A HREF="../base/any_flatshort.html#f_is_equal">is_equal</A> (other)
</A>
    <A NAME="f_deep_copy"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_deep_copy">deep_copy</A> (other: <A HREF="../base/recursive_cursor_tree_flatshort.html">RECURSIVE_CURSOR_TREE</A> [G])
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Effect equivalent to that of:</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red">		</FONT><A HREF="../base/any_flatshort.html#f_copy">copy</A><FONT COLOR="red"> (</FONT>`other'<FONT COLOR="red"> . </FONT><A HREF="../base/any_flatshort.html#f_deep_twin">deep_twin</A><FONT COLOR="red">)</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            other_not_void: other /= <B>Void</B>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            deep_equal: <A HREF="../base/any_flatshort.html#f_deep_equal">deep_equal</A> (<B>Current</B>, other)
</A>
    <A NAME="f_deep_twin"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_deep_twin">deep_twin</A>: <A HREF="../base/recursive_cursor_tree_flatshort.html">RECURSIVE_CURSOR_TREE</A> [G]
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> New object structure recursively duplicated from Current.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            deep_twin_not_void: <B>Result</B> /= <B>Void</B>
            deep_equal: <A HREF="../base/any_flatshort.html#f_deep_equal">deep_equal</A> (<B>Current</B>, <B>Result</B>)
</A>
    <A NAME="f_parent_tree"><A HREF="../base/cursor_tree_flatshort.html#f_parent_tree">parent_tree</A>: <A HREF="../base/recursive_cursor_tree_flatshort.html">RECURSIVE_CURSOR_TREE</A> [G]
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Subtree rooted at parent</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A>
            not_on_root: <B>not</B> <A HREF="../base/recursive_cursor_tree_flatshort.html#f_is_root">is_root</A>
            not_off: <B>not</B> <A HREF="../base/cursor_tree_flatshort.html#f_off">off</A>
</A>
    <A NAME="f_standard_copy"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_standard_copy">standard_copy</A> (other: <A HREF="../base/recursive_cursor_tree_flatshort.html">RECURSIVE_CURSOR_TREE</A> [G])
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Copy every field of </FONT>`other'<FONT COLOR="red"> onto corresponding field</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> of current object.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            other_not_void: other /= <B>Void</B>
            type_identity: <A HREF="../base/any_flatshort.html#f_same_type">same_type</A> (other)
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            is_standard_equal: <A HREF="../base/any_flatshort.html#f_standard_is_equal">standard_is_equal</A> (other)
</A>
    <A NAME="f_standard_twin"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_standard_twin">standard_twin</A>: <A HREF="../base/recursive_cursor_tree_flatshort.html">RECURSIVE_CURSOR_TREE</A> [G]
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> New object field-by-field identical to </FONT>`other'<FONT COLOR="red">.</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Always uses default copying semantics.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            standard_twin_not_void: <B>Result</B> /= <B>Void</B>
            equal: <A HREF="../base/any_flatshort.html#f_standard_equal">standard_equal</A> (<B>Result</B>, <B>Current</B>)
</A>
    <A NAME="f_subtree"><A HREF="../base/cursor_tree_flatshort.html#f_subtree">subtree</A>: <A HREF="../base/recursive_cursor_tree_flatshort.html">RECURSIVE_CURSOR_TREE</A> [G]
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Subtree rooted at current node</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A>
            not_off: <B>not</B> <A HREF="../base/cursor_tree_flatshort.html#f_off">off</A>
</A>
    <A NAME="f_twin"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_twin">twin</A>: <A HREF="../base/recursive_cursor_tree_flatshort.html">RECURSIVE_CURSOR_TREE</A> [G]
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> New object equal to </FONT>`Current'
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> </FONT><A HREF="../base/any_flatshort.html#f_twin">twin</A><FONT COLOR="red"> calls </FONT><A HREF="../base/any_flatshort.html#f_copy">copy</A><FONT COLOR="red">; to change copying/twining semantics, redefine </FONT><A HREF="../base/any_flatshort.html#f_copy">copy</A><FONT COLOR="red">.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            twin_not_void: <B>Result</B> /= <B>Void</B>
            is_equal: <B>Result</B>.<A HREF="../base/any_flatshort.html#f_is_equal">is_equal</A> (<B>Current</B>)
</A>    
<B>feature</B> <FONT COLOR="red">--</FONT><FONT COLOR="red"> Basic operations</FONT>

    <A NAME="f_default"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_default">default</A>: ?<A HREF="../base/recursive_cursor_tree_flatshort.html">RECURSIVE_CURSOR_TREE</A> [G]
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Default value of object's type</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
</A>
    <A NAME="f_default_pointer"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_default_pointer">default_pointer</A>: <A HREF="../base/pointer_flatshort.html">POINTER</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Default value of type </FONT>`POINTER'
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> (Avoid the need to write </FONT>`p'<FONT COLOR="red">.</FONT><A HREF="../base/any_flatshort.html#f_default">default</A><FONT COLOR="red"> for</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> some </FONT>`p'<FONT COLOR="red"> of type </FONT>`POINTER'<FONT COLOR="red">.)</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
</A>
    <A NAME="f_default_rescue"><A HREF="../base/any_flatshort.html#f_default_rescue">default_rescue</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Process exception for routines with no Rescue clause.</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> (Default: do nothing.)</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
</A>
    <A NAME="f_do_nothing"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_do_nothing">do_nothing</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Execute a null action.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
</A>    
<B>feature</B> <FONT COLOR="red">--</FONT><FONT COLOR="red"> Insert element</FONT>

    <A NAME="f_extend"><A HREF="../base/recursive_cursor_tree_flatshort.html#f_extend">extend</A> (v: G)
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Add </FONT>`v'<FONT COLOR="red"> after last child.</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Make </FONT>`v'<FONT COLOR="red"> the </FONT>`first_child'<FONT COLOR="red"> if </FONT><A HREF="../base/cursor_tree_flatshort.html#f_below">below</A><FONT COLOR="red"> and place</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> cursor </FONT><A HREF="../base/recursive_cursor_tree_flatshort.html#f_before">before</A><FONT COLOR="red">.</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/collection_flatshort.html">COLLECTION</A>
            extendible: <A HREF="../base/recursive_cursor_tree_flatshort.html#f_extendible">extendible</A>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/collection_flatshort.html">COLLECTION</A>
            item_inserted: <A HREF="../base/collection_flatshort.html#f_is_inserted">is_inserted</A> (v)
        <B>ensure then</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/bag_flatshort.html">BAG</A>
            one_more_occurrence: <A HREF="../base/cursor_tree_flatshort.html#f_occurrences">occurrences</A> (v) = <B>old</B> (<A HREF="../base/cursor_tree_flatshort.html#f_occurrences">occurrences</A> (v)) + 1
</A>    
<B>feature</B> <FONT COLOR="red">--</FONT><FONT COLOR="red"> Iteration</FONT>

    <A NAME="f_do_all"><A HREF="../base/traversable_flatshort.html#f_do_all">do_all</A> (action: <A HREF="../base/procedure_flatshort.html">PROCEDURE</A> [<A HREF="../base/any_flatshort.html">ANY</A>, <A HREF="../base/tuple_flatshort.html">TUPLE</A> [G]])
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Apply </FONT>`action'<FONT COLOR="red"> to every item.</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Semantics not guaranteed if </FONT>`action'<FONT COLOR="red"> changes the structure;</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> in such a case, apply iterator to clone of structure instead. </FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/traversable_flatshort.html">TRAVERSABLE</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/traversable_flatshort.html">TRAVERSABLE</A>
            action_exists: action /= <B>Void</B>
</A>
    <A NAME="f_do_all"><A HREF="../base/linear_flatshort.html#f_do_all">linear_do_all</A> (action: <A HREF="../base/procedure_flatshort.html">PROCEDURE</A> [<A HREF="../base/any_flatshort.html">ANY</A>, <A HREF="../base/tuple_flatshort.html">TUPLE</A> [G]])
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Apply </FONT>`action'<FONT COLOR="red"> to every item.</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Semantics not guaranteed if </FONT>`action'<FONT COLOR="red"> changes the structure;</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> in such a case, apply iterator to clone of structure instead.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/linear_flatshort.html">LINEAR</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/traversable_flatshort.html">TRAVERSABLE</A>
            action_exists: action /= <B>Void</B>
</A>
    <A NAME="f_do_if"><A HREF="../base/traversable_flatshort.html#f_do_if">do_if</A> (action: <A HREF="../base/procedure_flatshort.html">PROCEDURE</A> [<A HREF="../base/any_flatshort.html">ANY</A>, <A HREF="../base/tuple_flatshort.html">TUPLE</A> [G]]; test: <A HREF="../base/function_flatshort.html">FUNCTION</A> [<A HREF="../base/any_flatshort.html">ANY</A>, <A HREF="../base/tuple_flatshort.html">TUPLE</A> [G], <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>])
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Apply </FONT>`action'<FONT COLOR="red"> to every item that satisfies </FONT>`test'<FONT COLOR="red">.</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Semantics not guaranteed if </FONT>`action'<FONT COLOR="red"> or </FONT>`test'<FONT COLOR="red"> changes the structure;</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> in such a case, apply iterator to clone of structure instead. </FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/traversable_flatshort.html">TRAVERSABLE</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/traversable_flatshort.html">TRAVERSABLE</A>
            action_exists: action /= <B>Void</B>
            test_exits: test /= <B>Void</B>
</A>
    <A NAME="f_do_if"><A HREF="../base/linear_flatshort.html#f_do_if">linear_do_if</A> (action: <A HREF="../base/procedure_flatshort.html">PROCEDURE</A> [<A HREF="../base/any_flatshort.html">ANY</A>, <A HREF="../base/tuple_flatshort.html">TUPLE</A> [G]]; test: <A HREF="../base/function_flatshort.html">FUNCTION</A> [<A HREF="../base/any_flatshort.html">ANY</A>, <A HREF="../base/tuple_flatshort.html">TUPLE</A> [G], <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>])
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Apply </FONT>`action'<FONT COLOR="red"> to every item that satisfies </FONT>`test'<FONT COLOR="red">.</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Semantics not guaranteed if </FONT>`action'<FONT COLOR="red"> or </FONT>`test'<FONT COLOR="red"> changes the structure;</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> in such a case, apply iterator to clone of structure instead.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/linear_flatshort.html">LINEAR</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/traversable_flatshort.html">TRAVERSABLE</A>
            action_exists: action /= <B>Void</B>
            test_exits: test /= <B>Void</B>
</A>
    <A NAME="f_for_all"><A HREF="../base/linear_flatshort.html#f_for_all">linear_for_all</A> (test: <A HREF="../base/function_flatshort.html">FUNCTION</A> [<A HREF="../base/any_flatshort.html">ANY</A>, <A HREF="../base/tuple_flatshort.html">TUPLE</A> [G], <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>]): <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Is </FONT>`test'<FONT COLOR="red"> true for all items?</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Semantics not guaranteed if </FONT>`test'<FONT COLOR="red"> changes the structure;</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> in such a case, apply iterator to clone of structure instead.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/linear_flatshort.html">LINEAR</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/traversable_flatshort.html">TRAVERSABLE</A>
            test_exits: test /= <B>Void</B>
        <B>ensure then</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/linear_flatshort.html">LINEAR</A>
            empty: <A HREF="../base/recursive_cursor_tree_flatshort.html#f_is_empty">is_empty</A> <B>implies</B> <B>Result</B>
</A>
    <A NAME="f_for_all"><A HREF="../base/traversable_flatshort.html#f_for_all">for_all</A> (test: <A HREF="../base/function_flatshort.html">FUNCTION</A> [<A HREF="../base/any_flatshort.html">ANY</A>, <A HREF="../base/tuple_flatshort.html">TUPLE</A> [G], <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>]): <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Is </FONT>`test'<FONT COLOR="red"> true for all items?</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/traversable_flatshort.html">TRAVERSABLE</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/traversable_flatshort.html">TRAVERSABLE</A>
            test_exits: test /= <B>Void</B>
</A>
    <A NAME="f_there_exists"><A HREF="../base/traversable_flatshort.html#f_there_exists">there_exists</A> (test: <A HREF="../base/function_flatshort.html">FUNCTION</A> [<A HREF="../base/any_flatshort.html">ANY</A>, <A HREF="../base/tuple_flatshort.html">TUPLE</A> [G], <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>]): <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Is </FONT>`test'<FONT COLOR="red"> true for at least one item?</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/traversable_flatshort.html">TRAVERSABLE</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/traversable_flatshort.html">TRAVERSABLE</A>
            test_exits: test /= <B>Void</B>
</A>
    <A NAME="f_there_exists"><A HREF="../base/linear_flatshort.html#f_there_exists">linear_there_exists</A> (test: <A HREF="../base/function_flatshort.html">FUNCTION</A> [<A HREF="../base/any_flatshort.html">ANY</A>, <A HREF="../base/tuple_flatshort.html">TUPLE</A> [G], <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>]): <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Is </FONT>`test'<FONT COLOR="red"> true for at least one item?</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Semantics not guaranteed if </FONT>`test'<FONT COLOR="red"> changes the structure;</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> in such a case, apply iterator to clone of structure instead.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/linear_flatshort.html">LINEAR</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/traversable_flatshort.html">TRAVERSABLE</A>
            test_exits: test /= <B>Void</B>
</A>    
<B>feature</B> <FONT COLOR="red">--</FONT><FONT COLOR="red"> Output</FONT>

    <A NAME="f_io"><A HREF="../base/any_flatshort.html#f_io">io</A>: <A HREF="../base/std_files_flatshort.html">STD_FILES</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Handle to standard file setup</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            io_not_void: <B>Result</B> /= <B>Void</B>
</A>
    <A NAME="f_out"><A HREF="../base/any_flatshort.html#f_out">out</A>: <A HREF="../base/string_8_flatshort.html">STRING_8</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> New string containing terse printable representation</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> of current object</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            out_not_void: <B>Result</B> /= <B>Void</B>
</A>
    <A NAME="f_print"><A HREF="../base/any_flatshort.html#f_print">print</A> (some: ?<A HREF="../base/any_flatshort.html">ANY</A>)
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Write terse external representation of </FONT>`some'
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> on standard output.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
</A>
    <A NAME="f_tagged_out"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_tagged_out">tagged_out</A>: <A HREF="../base/string_8_flatshort.html">STRING_8</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> New string containing terse printable representation</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> of current object</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            tagged_out_not_void: <B>Result</B> /= <B>Void</B>
</A>    
<B>feature</B> <FONT COLOR="red">--</FONT><FONT COLOR="red"> Platform</FONT>

    <A NAME="f_operating_environment"><A HREF="../base/any_flatshort.html#f_operating_environment">operating_environment</A>: <A HREF="../base/operating_environment_flatshort.html">OPERATING_ENVIRONMENT</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Objects available from the operating system</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            operating_environment_not_void: <B>Result</B> /= <B>Void</B>
</A>    
<B>feature</B> <FONT COLOR="red">--</FONT><FONT COLOR="red"> Retrieval</FONT>

    <A NAME="f_internal_correct_mismatch"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_internal_correct_mismatch">internal_correct_mismatch</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Called from runtime to perform a proper dynamic dispatch on </FONT>`correct_mismatch'
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> from MISMATCH_CORRECTOR.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
</A>    
<B>invariant</B>
    coherency: <B>not</B> <A HREF="../base/recursive_cursor_tree_flatshort.html#f_above">above</A> implies ({a: <B>like</B> active_parent} active_parent and then a.child = active)

        <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/cursor_tree_flatshort.html">CURSOR_TREE</A>
    non_negative_depth: depth &gt;= 0
    non_negative_breadth: breadth &gt;= 0
    is_leaf_definition: not off implies is_leaf = (arity = 0)
    above_property: above implies (arity &lt;= 1)
    on_tree: (isfirst or islast or is_leaf or is_root) implies not off
    off_definition: off = after or before or above or below
    below_constraint: below implies ((after or before) and not above)
    above_constraint: above implies not (before or after or below)
    after_constraint: after implies not (before or above)
    before_constaint: before implies not (after or above)
    empty_below_constraint: (is_empty and (after or before)) implies below

        <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/hierarchical_flatshort.html">HIERARCHICAL</A>
    non_negative_successor_count: successor_count &gt;= 0

        <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/traversable_flatshort.html">TRAVERSABLE</A>
    empty_constraint: is_empty implies off

        <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
    reflexive_equality: standard_is_equal (<B>Current</B>)
    reflexive_conformance: conforms_to (<B>Current</B>)

        <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/active_flatshort.html">ACTIVE</A>
    writable_constraint: writable implies readable
    empty_constraint: is_empty implies (not readable) and (not writable)

        <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/linear_flatshort.html">LINEAR</A>
    after_constraint: after implies off

<B>indexing</B>
    library: "EiffelBase: Library of reusable components for Eiffel."
    copyright: "Copyright (c) 1984-2008, Eiffel Software and others"
    license: "Eiffel Forum License v2 (see <a href="http://www.eiffel.com/licensing/forum.txt">http://www.eiffel.com/licensing/forum.txt</a>)"
    source: "[
        Eiffel Software
        356 Storke Road, Goleta, CA 93117 USA
        Telephone 805-685-1006, Fax 805-685-6869
        Website <a href="http://www.eiffel.com">http://www.eiffel.com</a>
        Customer support <a href="http://support.eiffel.com">http://support.eiffel.com</a>
    ]"

<B>end</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">class </FONT><A HREF="../base/recursive_cursor_tree_flatshort.html">RECURSIVE_CURSOR_TREE</A><TABLE BORDER="1" ALIGN="CENTER"><TR><TD><A HREF="../class_list.html">Classes</A></TD><TD><A HREF="../cluster_list.html">Clusters</A></TD><TD><A HREF="../cluster_hierarchy.html">Cluster hierarchy</A></TD><TD><A HREF="recursive_cursor_tree_chart.html">Chart</A></TD><TD><A HREF="recursive_cursor_tree_links.html">Relations</A></TD><TD>Flat contracts</TD></TR></TABLE></PRE>
<P ALIGN="CENTER"> &#045;&#045; Generated by ISE Eiffel &#045;&#045 </P>
<P ALIGN="CENTER">For more details: <A HREF="http://www.eiffel.com">www.eiffel.com</A></P>
</BODY>
</HTML>

